unit untListProduto;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, untListPadrao, DB, Grids, DBGrids, StdCtrls, Buttons, ExtCtrls;

type
  TfrmListProduto = class(TfrmListPadrao)
    procedure btnIncluirClick(Sender: TObject);
    procedure btnAlterarClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure btnExcluirClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure EdtPesquisarChange(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmListProduto: TfrmListProduto;

implementation

uses untCadProduto, untDm, untFuncoesListagem;

{$R *.dfm}

procedure TfrmListProduto.btnIncluirClick(Sender: TObject);
begin
  inherited;
  frmCadProdutos.Tag := 1;
  frmCadProdutos.ShowModal;
end;

procedure TfrmListProduto.btnAlterarClick(Sender: TObject);
begin
  inherited;
  frmCadProdutos.Tag := 2;
  frmCadProdutos.ShowModal;
end;

procedure TfrmListProduto.FormShow(Sender: TObject);
begin
  inherited;
  DM.SDSProduto.Open;
  DM.CDSProduto.Open;
  DM.CDSFornecedor.Open;
  EdtRegistros.Text := atualizaTotal('produto');
end;

procedure TfrmListProduto.btnExcluirClick(Sender: TObject);
begin
  inherited;

  //---------------efetua a exclusao do registro
  if DM.CDSProduto.RecordCount = 0 then
    Exit;
  try
    if MessageDlg('Deseja Excluir o Produto?', mtConfirmation, [mbYes,mbNo],0) = mrYes then
    begin
      DM.SDSComando.CommandText := 'UPDATE "Produto" SET  "deletado" = :deletado where "cod_prod" = :cod_prod';
      DM.SDSComando.Params.ParamByName('cod_prod').AsString := DM.CDSProduto.FieldByName('cod_prod').AsString;
      DM.SDSComando.Params.ParamByName('deletado').AsString := '1';
      DM.SDSComando.ExecSQL();
      DM.CDSProduto.Close;
      DM.CDSProduto.Open;

      //Atualiza o total
      EdtRegistros.Text := atualizaTotal('produto');
    end;
  except
    if MessageDlg('Erro ao Excluir o Produto', mtError, [mbOK],0) = mrOK then
      Exit;
  end;

end;

procedure TfrmListProduto.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  inherited;
  DM.CDSProduto.Close;
  DM.CDSFornecedor.Close;

end;

procedure TfrmListProduto.EdtPesquisarChange(Sender: TObject);
begin
  inherited;
  if Trim(EdtPesquisar.Text) <> '' then
  begin
    DM.CDSProduto.Locate('nome_prod', EdtPesquisar.Text, [loCaseInsensitive,loPartialKey]);
  end;
end;

end.
